throw $ex;
}
- # The interface for parser functions allows for extracting
- # flags into the local scope. Extract any forwarded flags
- # here.
- extract( $result );
+ // Extract any forwarded flags
+ if ( isset( $result['found'] ) ) {
+ $found = $result['found'];
+ }
+ if ( array_key_exists( 'text', $result ) ) {
+ // a string or null
+ $text = $result['text'];
+ }
+ if ( isset( $result['nowiki'] ) ) {
+ $nowiki = $result['nowiki'];
+ }
+ if ( isset( $result['isHTML'] ) ) {
+ $isHTML = $result['isHTML'];
+ }
+ if ( isset( $result['forceRawInterwiki'] ) ) {
+ $forceRawInterwiki = $result['forceRawInterwiki'];
+ }
+ if ( isset( $result['isChildObj'] ) ) {
+ $isChildObj = $result['isChildObj'];
+ }
+ if ( isset( $result['isLocalObj'] ) ) {
+ $isLocalObj = $result['isLocalObj'];
+ }
}
}
}
if ( is_array( $output ) ) {
- # Extract flags to local scope (to override $markerType)
+ // Extract flags
$flags = $output;
$output = $flags[0];
- unset( $flags[0] );
- extract( $flags );
+ if ( isset( $flags['markerType'] ) ) {
+ $markerType = $flags['markerType'];
+ }
}
} else {
if ( is_null( $attrText ) ) {
'count' => $count ];
$stack->push( $piece );
$accum =& $stack->getAccum();
- $flags = $stack->getFlags();
- extract( $flags );
+ $stackFlags = $stack->getFlags();
+ if ( isset( $stackFlags['findEquals'] ) ) {
+ $findEquals = $stackFlags['findEquals'];
+ }
+ if ( isset( $stackFlags['findPipe'] ) ) {
+ $findPipe = $stackFlags['findPipe'];
+ }
+ if ( isset( $stackFlags['inHeading'] ) ) {
+ $inHeading = $stackFlags['inHeading'];
+ }
$i += $count;
}
} elseif ( $found == 'line-end' ) {
// Unwind the stack
$stack->pop();
$accum =& $stack->getAccum();
- $flags = $stack->getFlags();
- extract( $flags );
+ $stackFlags = $stack->getFlags();
+ if ( isset( $stackFlags['findEquals'] ) ) {
+ $findEquals = $stackFlags['findEquals'];
+ }
+ if ( isset( $stackFlags['findPipe'] ) ) {
+ $findPipe = $stackFlags['findPipe'];
+ }
+ if ( isset( $stackFlags['inHeading'] ) ) {
+ $inHeading = $stackFlags['inHeading'];
+ }
// Append the result to the enclosing accumulator
$accum .= $element;
$stack->push( $piece );
$accum =& $stack->getAccum();
- $flags = $stack->getFlags();
- extract( $flags );
+ $stackFlags = $stack->getFlags();
+ if ( isset( $stackFlags['findEquals'] ) ) {
+ $findEquals = $stackFlags['findEquals'];
+ }
+ if ( isset( $stackFlags['findPipe'] ) ) {
+ $findPipe = $stackFlags['findPipe'];
+ }
+ if ( isset( $stackFlags['inHeading'] ) ) {
+ $inHeading = $stackFlags['inHeading'];
+ }
} else {
# Add literal brace(s)
$accum .= htmlspecialchars( str_repeat( $curChar, $count ) );
$accum .= $s;
}
}
- $flags = $stack->getFlags();
- extract( $flags );
+ $stackFlags = $stack->getFlags();
+ if ( isset( $stackFlags['findEquals'] ) ) {
+ $findEquals = $stackFlags['findEquals'];
+ }
+ if ( isset( $stackFlags['findPipe'] ) ) {
+ $findPipe = $stackFlags['findPipe'];
+ }
+ if ( isset( $stackFlags['inHeading'] ) ) {
+ $inHeading = $stackFlags['inHeading'];
+ }
# Add XML element to the enclosing accumulator
$accum .= $element;
'count' => $count ];
$stack->push( $piece );
$accum =& $stack->getAccum();
- extract( $stack->getFlags() );
+ $stackFlags = $stack->getFlags();
+ if ( isset( $stackFlags['findEquals'] ) ) {
+ $findEquals = $stackFlags['findEquals'];
+ }
+ if ( isset( $stackFlags['findPipe'] ) ) {
+ $findPipe = $stackFlags['findPipe'];
+ }
+ if ( isset( $stackFlags['inHeading'] ) ) {
+ $inHeading = $stackFlags['inHeading'];
+ }
$i += $count;
}
} elseif ( $found == 'line-end' ) {
// Unwind the stack
$stack->pop();
$accum =& $stack->getAccum();
- extract( $stack->getFlags() );
+ $stackFlags = $stack->getFlags();
+ if ( isset( $stackFlags['findEquals'] ) ) {
+ $findEquals = $stackFlags['findEquals'];
+ }
+ if ( isset( $stackFlags['findPipe'] ) ) {
+ $findPipe = $stackFlags['findPipe'];
+ }
+ if ( isset( $stackFlags['inHeading'] ) ) {
+ $inHeading = $stackFlags['inHeading'];
+ }
// Append the result to the enclosing accumulator
array_splice( $accum, count( $accum ), 0, $element );
$stack->push( $piece );
$accum =& $stack->getAccum();
- extract( $stack->getFlags() );
+ $stackFlags = $stack->getFlags();
+ if ( isset( $stackFlags['findEquals'] ) ) {
+ $findEquals = $stackFlags['findEquals'];
+ }
+ if ( isset( $stackFlags['findPipe'] ) ) {
+ $findPipe = $stackFlags['findPipe'];
+ }
+ if ( isset( $stackFlags['inHeading'] ) ) {
+ $inHeading = $stackFlags['inHeading'];
+ }
} else {
# Add literal brace(s)
self::addLiteral( $accum, str_repeat( $curChar, $count ) );
}
}
- extract( $stack->getFlags() );
+ $stackFlags = $stack->getFlags();
+ if ( isset( $stackFlags['findEquals'] ) ) {
+ $findEquals = $stackFlags['findEquals'];
+ }
+ if ( isset( $stackFlags['findPipe'] ) ) {
+ $findPipe = $stackFlags['findPipe'];
+ }
+ if ( isset( $stackFlags['inHeading'] ) ) {
+ $inHeading = $stackFlags['inHeading'];
+ }
# Add XML element to the enclosing accumulator
array_splice( $accum, count( $accum ), 0, $element );
public static function removeHTMLtags( $text, $processCallback = null,
$args = [], $extratags = [], $removetags = [], $warnCallback = null
) {
- extract( self::getRecognizedTagData( $extratags, $removetags ) );
+ $tagData = self::getRecognizedTagData( $extratags, $removetags );
+ $htmlpairs = $tagData['htmlpairs'];
+ $htmlsingle = $tagData['htmlsingle'];
+ $htmlsingleonly = $tagData['htmlsingleonly'];
+ $htmlnest = $tagData['htmlnest'];
+ $tabletags = $tagData['tabletags'];
+ $htmllist = $tagData['htmllist'];
+ $listtags = $tagData['listtags'];
+ $htmlsingleallowed = $tagData['htmlsingleallowed'];
+ $htmlelements = $tagData['htmlelements'];
# Remove HTML comments
$text = self::removeHTMLcomments( $text );